from django.views import View
from product.models import Product 
from django.http import JsonResponse,HttpResponse

# Create your views here.
class IndexView(View):  # 首页视图
    
    # 登录需要写在请求方法执行前。
    
    def get(self,request):
        print("进入get请求了")
        products = Product.objects.all()  # 取出所有商品
        data_list = []  # 定义一个空列表，用于存储商品数据
        for product in products:  # 遍历商品
            
            data = {  # 定义数据
                "name":product.product_name,  # 商品名称
                "cover":product.cover.url if product.cover else None,  # 商品封面  注意：图片路径需要使用url属性获取  "cover":"/media/images/1.jpg"
                "price":product.price,  # 商品价格
                "popularity":product.popularity,  # 商品热度
                "stock":product.stock,  # 商品库存
                "is_active":product.is_active,  # 商品状态
            }
            data_list.append(data)  # 将数据添加到列表中
         
         # 返回json数据.当前的数据保存在列表中，不是字典，需要使用safe=False参数。 
        return JsonResponse(data=data_list,safe=False)  # 封装函数
    
    def post(self,request):
        print("进入post请求了")
        return JsonResponse(data={"message":"post请求成功"},safe=False)  # 封装函数
        # 注意：如果是post请求，需要使用request.POST.get("name")获取数据，否则会报错。
        # 注意：如果是get请求，需要使用request.GET.get("name")获取数据，否则会报错。
        
    